import request from '@/config/axios'

// 客户管理 VO
export interface CustomerVO {
  id: number // ID
  customerNo: string // 客户编码
  customerType: boolean // 客户类型(个人、企业、个体工商户)
  customerName: string // 客户名称
  shortName: string // 客户简称
  customerUscc: string // 客户统一信用代码
  legalPerson: string // 法人
  legalIdCardNo: string // 法人身份证
  busiScope: string // 经营范围
  contacts: string // 联系人
  contactsPhone: string // 联系电话
  fixedPhone: string // 固定电话
  customerAddrCode: string // 客户地区划代码
  customerAddr: string // 所在城市
  customerAddrDetail: string // 详细地址
  registerAddr: string // 注册地址
  receiveAddr: string // 收件地址
  paymentMethod: string // 付款方式
  settlementType: string // 结算类型
  settlementWays: string // 结算方式
  settlementDays: number // 结算天数
  receiptType: string // 回单类型
  deptId: number // 机构ID
}

// 客户管理 API
export const CustomerApi = {
  // 查询客户管理分页
  getCustomerPage: async (params: any) => {
    return await request.get({ url: `/base/customer/page`, params })
  },

  // 查询客户管理详情
  getCustomer: async (id: number) => {
    return await request.get({ url: `/base/customer/get?id=` + id })
  },

  // 查询客户管理List
  getCustomerList: async (data: CustomerVO) => {
    return await request.get({ url: `/base/customer/getList`, data })
  },

  // 新增客户管理
  createCustomer: async (data: CustomerVO) => {
    return await request.post({ url: `/base/customer/create`, data })
  },

  // 修改客户管理
  updateCustomer: async (data: CustomerVO) => {
    return await request.put({ url: `/base/customer/update`, data })
  },

  // 删除客户管理
  deleteCustomer: async (id: number) => {
    return await request.delete({ url: `/base/customer/delete?id=` + id })
  },

  // 批量删除客户管理
  deleteCustomers: async (ids: string) => {
    return await request.delete({ url: `/base/customer/deletes?ids=` + ids })
  },

  // 导出客户管理 Excel
  exportCustomer: async (params) => {
    return await request.download({ url: `/base/customer/export-excel`, params })
  }
}
